/**
 * 
 */
package co.edu.eam.persitencia.entidades;

import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;

import co.edu.eam.persitencia.enumeraciones.TipoTelefonoEnum;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Table;

/**
 * Entidad para almacenar el telefono de una persona.
 * @author Camilo Andres
 *
 */
@Entity
@Table(name="Clinica_Telefono")
public class Telefono implements  Serializable{
	
	

	/**
	 * Identificado unico del telefono.
	 */
        @Id
        @Column(name="Telefono_id")
	private long id;
	/**
	 * Numero de telefono.
	 */
        @Column(name="Telefono_numero")
	private String numero;
	
	/**
	 * Persona due�a del telefono.
	 */
        @ManyToOne
        @JoinColumn(name="Telefono_persona")
	private Persona persona;
	
	/**
	 * Tipo de telefono.
	 */
        @Enumerated(EnumType.STRING)
	private TipoTelefonoEnum tipo;
	
	
	
	
	public Telefono() {
		super();
	}

	/**
	 * Constructor
	 * @param numero numero de telefono
	 * @param persona persona due�a del telefono
	 * @param tipo tipo de telefono.
	 */
	public Telefono(String numero, Persona persona, TipoTelefonoEnum tipo) {
		super();
		this.numero = numero;
		this.persona = persona;
		this.tipo = tipo;
	}

	/**
	 * @return the id
	 */
	public long getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(long id) {
		this.id = id;
	}

	/**
	 * @return the numero
	 */
	public String getNumero() {
		return numero;
	}

	/**
	 * @param numero the numero to set
	 */
	public void setNumero(String numero) {
		this.numero = numero;
	}

	/**
	 * @return the persona
	 */
	public Persona getPersona() {
		return persona;
	}

	/**
	 * @param persona the persona to set
	 */
	public void setPersona(Persona persona) {
		this.persona = persona;
	}

	/**
	 * @return the tipo
	 */
	public TipoTelefonoEnum getTipo() {
		return tipo;
	}

	/**
	 * @param tipo the tipo to set
	 */
	public void setTipo(TipoTelefonoEnum tipo) {
		this.tipo = tipo;
	}
	
	
	public String toString(){
		return numero;
	}

}
